Бағдарламалық жасақтама әзірлеу процесінде тестілеуді бағдарламалық қамтамасыз етуді әзірлеу циклі.

Бағдарламалық тестілеу циклы. Сынақ түрлері мен бағыттарын жіктеу.
Бағдарламалық жасақтама әзірлеу циклі

Бағдарламалық жасақтама әзірлеу циклі


«Бағдарламалық қамтамасыздандыруды дамыту циклы» деп ойлай отырып, бұл бағдарламалық жасақтама дамуы орын алған кезде, бұл процесс болуы мүмкін. әзірлеушілер бағдарламалау болып табылады, тестерлер бірге жұмыс істейді және клиент артта шығады. Алайда бұлай емес. «Бағдарламалық қамтамасыздандыруды дамыту циклы» синонимі - бұл «бағдарламалық қамтамасыз етудің өмірлік циклі», бұл тұжырымдама неғұрлым кеңірек және тереңірек, ол тек кодтауды ғана емес қамтиды. Бағдарламалық жасақтаманың өмірлік циклі - оны жасау қажеттілігі туралы шешім қабылданған сәттен басталады және қызмет көрсетуден толық шығу сәтінде аяқталатын үздіксіз процесс. Сонымен, бағдарламалық қамтамасыз етудің өмірлік циклі бағдарламалық жасақтамаға қажет болған кезде ғана басталады, бірде-бір кодыңыз жазылмаса және бір қате табылмаса. Бағдарламалық жасақтама өмірімен не болады? Әрине, тапсырыс беруші оның жарқын, не болмаса идеясын орындауға дайын әзірлеушілерді таба алады. Дегенмен, идея тек бағдарламалық жасақтаманы енгізудің басталуын бастамайды. Алдымен бағдарламалық жасақтама талаптары туралы ойлануыңыз қажет. Талаптарға сәйкестендірілгеннен кейін оларды талдауға және тексеруге жақсы тәжірибе бар, бірақ бұл әрдайым орындалмайды. Талаптарды жасағаннан кейін бағдарламалық қамтамасыз етуді енгізу басталады. Дамудың алғашқы нәтижелері пайда болған кезде бағдарламалық жасақтаманы тестілеу басталады. Әзірлеушілер талаптарға сәйкес қойылған барлық функциялардың орындалуын аяқтағаннан кейін, тестерлер барлық дұрыс жұмыс жасайтынын тексерді, олар клиентке қабылдау үшін бағдарламалық жасақтама береді. Егер клиент өзінің барлық талаптарының орындалуын шешсе, онда бағдарламалық жасақтама іске қосылады, яғни. пайдаланушылар оны пайдалануды бастайды. Бағдарламалық жасақтаманы әзірлеу жобасы пайдаланушылар өздерінің проблемалары туралы хабардар болған кезде жаңа «Қолдау» кезеңіне кіреді, ал әзірлеушілер тестерлері оларды шешуге тырысады. Windows XP сияқты операциялық жүйенің (ОЖ) өмірлік циклы аяқталды деп ойлайсыз ба? Дұрыс жауап жоқ. Windows XP жүйесінің ең соңғы нұсқасы 2008 жылдың 21 сәуірінде шығарылды, бірақ осы операциялық жүйеге жалпы қолдау 2009 жылға дейін берілді және 2014 жылға дейін ұзартылды. Осы ОЖ-ны қолданатын адамдар бар, бірақ осы ОС-да 2 жылдан астам жаңартулар жоқ.

Бағдарламалық жасақтама әзірлеу әдістемесі


Әдістеме - бағдарламалық қамтамасыз етудің стилін анықтайтын қағидаттар жүйесі, сондай-ақ идеялар, тұжырымдамалар, әдістер, әдістер мен құралдар жиынтығы. Әдістеме даму стандарттарын енгізу болып табылады. Стандарттар өздерін таңдау еркіндігі мен нақты жағдайларға бейімделу қалдырып, не болуы керек екенін айтады. Әдістеме дамудың қалай жүргізілетінін анықтайды. Бағдарламалық қамтамасыз етудің көптеген жетілдірілген әдістемелері бар. әдіснамасы таңдау компанияның процестерді, қызметкерлердің жеке қасиеттерін және тапсырыс берушінің преференциялар тұрақтылық және өтелу, жобаның ерекшелігіне және күрделілігіне, команда көлеміне байланысты.

Каскад үлгісі


Каскадтық модель (Waterfall моделі, «Waterfall» моделі) - ескі ең ескі бірі 1970 жылдан бастап. Модель бағдарламалық жасақтаманың өмірлік циклін кезеңдерге бөледі: дизайн, дизайн, кодтау, тестілеу, қолдау. Әрбір саты келесіге дейін аяқталуы керек.

Каскад тәсілін пайдаланудың артықшылықтары:
● Әр кезеңде жобалық құжаттаманың толық жиынтығы қалыптасады, ол сәйкес келеді толықтығы мен дәйектілік критерийлері;
● Жұмыстың қадамдары логикалық ретпен жүзеге асырылады, ол мерзімді жоспарлауға мүмкіндік береді.
барлық жұмыстарды аяқтау және тиісті шығындар.
Каскадты көзқарас ең басында бағдарламалық қамтамасыз етудің құрылысында өзін дәлелдеді әзірлеушілермен бірге барлық талаптарды толықтай дәл және толықтай айқындауға болады бағдарламалық қамтамасыз етуді техникалық тұрғыдан мүмкіндігінше оңтайландыра алады. Осы санатқа ену кешенді есеп айырысу жүйелері, нақты уақыттық жүйелер және басқа да ұқсас міндеттер. Алайда, Осы тәсілді қолдану процесі бірқатар кемшіліктерді анықтады. Ең маңыздылардың бірі байланысты бағдарламалық қамтамасыз етуді құрудың нақты процесі мұндай қатаң схемаға толығымен сай болмайды. Бағдарламалық қамтамасыз етуді жасау барысында әрдайым алдыңғы кезеңдерге оралу қажет болды бұрын қабылданған шешімдерді нақтылау немесе қайта қарау. Дегенмен, әрқайсысында кері байланыс бар Өмір циклінің алдыңғы кезеңі, даму шығындарын көбейту мүмкін, мүмкін 10 есе ұлғайту ...
V-моделі (тестілеу арқылы әзірлеу)

V-пішінді модельдің негізгі қағидасы - жобаның ерекшелігі сол уақыттан оңға қарай жылжытып, біртіндеп уақыт өте келе, сондай-ақ бұрыла алмайды артқа қарай. Жобадағы итерациялар көлденең, хаттың сол және оң жақтары арасында орындалады. V-моделі каскадтық модельден «қадамдық» құрылымды иеленді, даму тапсырмалары орындалады V әрпінің сол жағынан жоғары және төменгі жағында, және V тапсырмасының оң жағындағы тест тапсырмалары.
Ішкі V көлденең сызықтары әр фазаның нәтижелерін қалай көрсететінін көрсетеді сынақтар әрбір тестілеу кезеңінде сынақ жүйесінің дамуына әсер етеді. Үлгі қабылдау сынақтары негізінен талаптарға негізделгендігіне негізделген жүйелік тестілеу - талаптарға және архитектураға, кешенді тестілеуге арналған талаптар, архитектура және интерфейстер, компонентті тестілеу талаптарға, сәулет, интерфейстер және алгоритмдер.
V-моделі үзіліссіз жұмыс істеу маңызды болып табылатын жүйелерге қолданылады. Мысалы, науқастарды емдеу клиникаларында қолдану бағдарламалары, интеграцияланған бағдарлама автокөлік құралдарындағы авариялық қауіпсіздік жастықтарын басқару тетіктері және т.б. әрі қарай. Модельдің ерекшелігі оның мұқият тексеруге бағытталғандығын және қарастырылуына болады дизайнның бастапқы кезеңдерінде болатын өнімді сынау. Кезең тестілеу тиісті даму кезеңімен бір мезгілде жүзеге асырылады, мысалы, кезінде жазбаша бірліктердің кодтарын кодтау.
Қосымша модель
Қосымша жүйеде жалпы жүйелік талаптар әртүрлі жинақтарға бөлінеді. Терминология көбінесе кезеңді бағдарламалық құралымдарды сипаттау үшін қолданылады. Бірнеше даму циклі бар және олар көп қабатты сарқырама өмірлік циклін құрайды. Цикл жеңілірек болып бөлінеді. модульдер құрылды. Әр модуль талаптарды айқындау кезеңдерінен өтеді, дизайн, кодтау, енгізу және тестілеу. Әзірлеудің қосымша процедурасы модель негізгі функционалдылықта өнімнің бірінші негізгі кезеңін шығаруды қамтиды содан кейін жаңа функциялардың дәйекті түрде қосылуы, «increments» деп аталады. Процесс толық жүйе жасалғанша жалғасады.

Agile моделі (икемді даму әдіснамасы) «Икемді» даму әдіснамасында әрбір иерациядан кейін клиент нәтижені байқай алады түсіну үшін ол қанағаттандырады ма немесе жоқ. Бұл икемді модельдің артықшылықтарының бірі. Өз кемшіліктеріне Бағалауға қиын еңбек және еңбек шығындарын дамыту үшін қажетті. Extreme Programming (XP) практикада икемді модельдің ең танымал қосымшаларының бірі. Икемді әдіснама қысқа күнделікті кездесулерге негізделеді - Scrum және үнемі қайталанатын кездесулер (аптасына бір рет, екі аптада бір рет немесе айына бір рет) шақырылады

Спринт. Күнделікті кездесулерде команда мүшелері:
● соңғы Scrum'a жасалған уақыттағы жұмыс туралы есеп;
● қызметкер келесі кездесуге дейін аяқтауы тиіс тапсырмалар тізімі;
● жұмыс барысында кездесетін қиындықтар.
Әдіснамасы үлкен немесе ұзақ өмірлік циклге бағытталған жобалар үшін қолайлы. нарық жағдайларына үнемі бейімделу. Тиісінше, талапты орындау барысында өзгереді.

Итеративті (итеративті) модель Өмірлік циклдің итеративті моделі, басталатын талаптардың толық сипаттамасын талап етпейді.
Оның орнына, құру жасау үшін негіз болатын функционалдық бөлігін іске асырудан басталады қосымша талаптарды айқындау. Бұл процесс қайталанады. Нұсқа мінсіз болмауы мүмкін, Ең бастысы, ол жұмыс істейді. Түпкілікті мақсатты түсіну үшін команда әрқайсысы үшін осылай істейді қадам тиімді болды, әр нұсқасы жұмыс істейді.
Диаграмма Моно Лизаның итеративті «дамуын» көрсетеді. Көріп отырғаныңыздай, бірінші иерархияда бар тек Gioconda нотасы, екіншісінде - түстер пайда болады және үшінші итерация мәліметтерді қосады, қанықтыру және процесті аяқтайды. Артық емес модельде өнімнің функционалдылығы артады бөлік бойынша, өнім бөліктерден тұрады. Итерациялы модельден айырмашылығы, әр бөлшек ажырамас элемент болып табылады.

Спираль үлгісі
Бағдарламалық қамтамасыздандырудың спиралды моделі өмірлік циклдің бастапқы кезеңдеріне негізделген: талдау және жобалау. Осы кезеңдерде техникалық шешімдердің орындылығы прототиптеу арқылы тексеріледі. Спиральдің әр бұрышы бағдарламалық жасақтаманың фрагментін немесе нұсқасын жасауға сәйкес келеді, ол мақсаттарды анықтайды жобаның сипаттамасы оның сапасы мен келесі кезеңге жоспарланған жұмысымен анықталады спиральдар. Осылайша, жобаның егжей-тегжейі тереңдетіліп, дәйекті түрде нақтыланды Нәтижесінде, іске асыруға әкелетін ақылға қонымды нұсқалар таңдалады. Даму итерациялар жүйені құрудың объективті түрде қолданылатын спираль циклын көрсетеді. Толық емес әр кезеңде жұмыстың аяқталуы толық күткен жоқ, келесі кезеңге өтуге мүмкіндік береді ағымдағы жұмыс аяқталды. Итеративті даму әдісімен жетіспейтін жұмыс болуы мүмкін келесі итерацияда орындалады. Басты міндет - мүмкіндігінше тезірек көрсету. жүйелік пайдаланушыларды қолданыстағы өнім, осылайша тазарту процесін жандандырады және талаптарды толықтырады.

Спиральдың моделі әрбір айналым үшін 4 кезеңді қамтиды:
1. жоспарлау;
2. тәуекелдерді талдау;
3. дизайн;
4. нәтижелерді бағалау және қанағаттанарлық сапа, жаңа раундқа көшу.
Бұл модель кішігірім жобалар үшін жарамсыз, бұл күрделі және қымбат болуы мүмкін, мысалы, осындай әрбір келесі қадам қажет болғанда, банк үшін құжаттарды басқару жүйесінің дамуы бағдарламалауға қарағанда, әсерді бағалау үшін қосымша талдау.

Талаптарды талдау


Талаптар талдаулар сатысында тестерлер бағдарламалық жасақтамамен таныс болады. Бұл үшін не екенін біліңіз. Таныстырады жобаға қойылатын талаптарды ескеріп Талаптар талдауларының кезеңінде талаптар тексеріліп, талаптар анықталған. Кейін бағдарламалық қамтамасыз етуге қойылатын талаптарды және функционалдылыққа қатысты сұрақтарды шешкен кезде, сатысқа көшу
сынақ жоспарлау.

Тесттік жоспарлау
Жоспарлау кезеңі біз тестілеуден өту туралы ойлауға бағытталған. Оның қайсысы функционалдық бағдарлама бар.
Жоспарлау тесті мыналардан тұрады:
● Сынақ жоспарын жасау
● Сынақ стратегияларын ойлау
● Сынақ үшін еңбек шығындарын бағалау
● Уақытты болжау және жоспарлауды жоспарлау
● Тәуекелдерді бағалау қызметі
● Қолданылатын құралдарды анықтау
Жоспарлаудың нәтижесі көбінесе жасалатын жеке құжат - Тестілік жоспар (сынақ жоспары). Алайда, оның жоқтығы жоспарлау кезеңі толығымен жіберілмеді дегенді білдірмейді.
Кез-келген әрекеттер көбірек, аз немесе ең аз жоспарланған. Бұл мәселе әрдайым сынақ жоспары / тестілеу стратегиясы жеткілікті дәрежеде анық емес немесе тіпті жазбаша құжаттар түрінде материалдық нұсқау алды.
Бағдарламалық жасақтаманы әзірлеуге қазіргі уақытта танымал икемді әдіснамаларды белсенді пайдалану арқылы тестілеуді жоспарлау үшін еңбек және уақыт шығындарын азайту ең аз немесе мүлде болмайды, соның нәтижесінде сынақ жоспары мен стратегиясы олардың классикалық және құжатталған нысандары жай жоқ. Дегенмен, әдетте, жоспарда және стратегияда қамтылған ақпарат әлі күнге дейін белгілі және пайдаланылады, жеке жазбаларда немесе тікелей менеджер мен топ мүшелерінің басшыларында қамтылған тестілеу.
Сынақ жоспарын жасаған кезде қолданыстағы үлгілер (RUP, IEEE 829) немесе сіздің жеке қолдануға болады меншікті, мысалы, компанияда қабылданған. Кез келген пішінде тестілік жоспар жауап беруге тиіс келесі сұрақтар:
● Нені сынау керек (сынақ объектісі: жүйе, қолданба, жабдық)
● Сіз тестілеуден өткеннен кейін (тестілеу кезінде жүйенің функциялары мен компоненттерінің тізімі)
● Сіз қалай тестілеуіңізге болады (тестілеу стратегиясы - тестілеу түрлері және олардың түрлері
сынақ объектісіне қатысты қолдану)
● Бағдарламалық жасақтаманы тексергіңіз келетін ортаны тексеру
● Сіз қашан тексересіз (жұмыс тәртібі: дайындық, сынақ ісінің тапсырмаларға тәуелділігін ескере отырып, тестілеу, нәтижелерді талдау даму және байланысты топтар)
● Тәуекелдер мен оларды шешудің стратегиясы Егер сынақ жоспары тестілеу процесі салынатын жалпы схеманы орнатса, онда стратегия оны түсіндіреді және келесі туралы ақпаратты қамтиды:
● Бағдарламалық жасақтаманың əрбір жеке компоненті үшін тест түрлеріне тікелей қамтамасыз ету және оның функционалдығы
● Қажетті құралдар және техникалық мамандар тестілеу кезінде пайдалануға арналған
● Қажетті конфигурация параметрлері.
Стратегия тестілеуден өткен барлық бағдарламалық жасақтама үшін жинақталмаған. дереу қамтамасыз етіңіз. Бір адам үшін оның ойлауы да тиімді функционалды.
Тест әзірлеу
Келесі маңызды кезең - сынақ дизайны. тестілік дизайн - бұл бағдарламалық жасақтама тестілеу процесі сынақтар алдын-ала анықталған критерийлерге сәйкес әзірленді және жасалды тестілеу сапасы мен мақсаты.
Сынақтарды жасаған кезде, бізде бар дизайн артефактілерін талдаймыз - ол мүмкін ТЗ, техникалық сипаттамалар, жоспарлар, және әсіресе жаман жағдайларда - клиенттің хаты мен мазмұны бағдарламашылардың жетекшілері.
Интернет-дүкендер, мамандандырылған бағдарламадан айырмашылығы, интуитивті болуы керек айқындық. Егер пайдаланушы қандай да бір нәрсені қалай сатып алуға болатындығын түсінбесе, ол барады бәсекелес.
Тесттерді жобалаудағы маңызды мәселе - оларды бекіту. Әр түрлі жағдайларда тесттер түрлі жолдармен бекітілген. Кейбіреулер бұл үшін арнайы құралдарды пайдаланады (MTM, Sitechk, TestLink) немесе қолда бар (Excel, Mind Map) бейімдеу.
Тестілеу және бағалау
Сынақтар дайын болғаннан кейін олар орындалады. Тесттерді орындау кезінде нұсқасы бекітілген. Тексерілетін сынақ және тест нәтижесі.
Нәтижелер қалған команда мен жоба жетекшісіне жіберіледі. Егер сынақтар сәтсіз аяқталды, солардың негізінде қателер қате трекерге енгізілді.

Бағдарламалық жасақтамадан басқа қандай тестілеуге болады?


Мүмкін сіз «тестілеу» сөзін валидация туралы ойыңыз болуы мүмкін Бағдарламаның жұмыс істеуі. Алайда бұл дұрыс емес. Сіз тек бағдарламаны ғана емес, сонымен қатар оған қойылатын талаптар, оның дизайны, кодтың өзі және бағдарламалық құжаттама.
Талаптар мен құжаттаманы тестілеу
Сынақшының жұмысында әртүрлі құжаттар жиі кездеседі: талаптарды сипаттау жүйе, пайдаланушы нұсқаулықтары, пайдаланушы нұсқаулықтары, орнату нұсқаулықтары және т.б. Талап (талап) - қандай функцияларды сипаттау және қандай шарттарды сақтау керек шешім қабылдау процесінде бағдарламалық жасақтаманы пайдалану пайдалы.
Талаптарды тексерген кезде, сынаушы пәндік саланы білуі керек олар жазылған талаптар. Әйтпесе, сынаушы талапта қатені көре алмайды.
немесе керісінше, олар айтқысы келетінін білмей-ақ, қатені енгізу.
Талаптарды тексеру кезінде келесі критерийлердің болуы тексеріледі:
● Аяқтау
● Атомизм
● Тиімділік
● Айқын (біржақты)
● Жүзеге асыру мүмкіндігі
● Байланыстыру
● Бақылану мүмкіндігі (қадағалау мүмкіндігі)
● Өзгерістер
● Танысыңыз
● Дұрыс және тексеру мүмкіндігі
Қалған құжаттардың түрлері бұрыннан енгізілген бағдарламалық жасақтаманы сипаттайды және өзектілігіне тексеріледі.
дұрыстығы мен бірегейлігі.
Толықтық
Талап толық және толығымен қамтамасыз ету тұрғысынан толық болып табылады ақпарат, ештеңе жоқ, себебі «анық».
Типтік мәселелер:
● Сәйкес емес функционалдық талаптар немесе сілтемелер жоқ
функционалды емес талаптар. Мысалы, «Құпия сөздерді шифрланған сақтау керек нысаны - шифрлау алгоритмі дегеніміз не?
● Листингтің бір бөлігі ғана тізімделген. Мысалы, «экспорттау жүзеге асырылады PDF, PNG және т.б. «форматтары -» және т.б. «деген не?
● Сұрау мәтінінде біркелкі сілтемелер бар. Мысалы, «қараңыз жоғары «орнына» қараңыз Бөлім 123.45.b «.
Атомдық
Талап, егер ол бөлек талаптарды бұзбаса, атомды жоғалтпайды толық және бір ғана жағдайды сипаттайды.
Типтік мәселелер:
● Бір талапта бірнеше тәуелсіз адам бар. Мысалы, «Қайта бастау» түймешігі жоқ қызмет тоқтатылған кезде көрсетілуі керек, Журнал терезесінде кемінде 20 болуы керек соңғы пайдаланушы әрекеттерінің жазбалары «- мұнда қандай да бір себептермен бір сөйлемде Толық түрлі интерфейс элементтері толығымен әр түрлі контексттерде сипатталған.
● Талап тілдің грамматикалық ерекшеліктеріне байланысты емес. Мысалы «Егер пайдаланушы бұйрықты растаса, тапсырысты өңдеп немесе тапсырысын кейінге қалдырса, міндетті төлем туралы өтінім берілді «- мұнда үш түрлі жағдай сипатталған және бұл талап тұр шатастырмау үшін үш бөлікке бөлінген. Мұндай атрибуция жиі бұзылады келіспеушіліктің пайда болуына әкеледі.
● Бір талап бойынша, бірнеше тәуелсіз жағдайлардың сипаттамасы біріктіріледі. Мысалы «Пайдаланушы кірген кезде сәлемдесу көрсетілуі керек; пайдаланушы кезде кіргенде пайдаланушы аты көрсетілуі керек; пайдаланушы кіргенде жүйе, қоштасу керек »- бұл үш жағдайға да лайық жекелей және толықтай егжей-тегжейлі талаптар ретінде сипаттауға болады.
Сәйкестік
Талап басқа да талаптарға қайшылықтар мен қарама-қайшылықтарды қамтымауы керек. және құжаттар.
Жалпы сәйкестік
мәселелері:
● Талаптардың біреуі бойынша қайшылықтар. Мысалы, «сәтті кіруден кейін кіруге рұқсат етілмеген пайдаланушы ... «- ол сәтті кірген кезде жүйе, егер сізде мұндай құқық жоқ болса?
● Кесте мен мәтін арасында, сурет пен арасында екі немесе одан да көп талаптар арасындағы қайшылық мәтін, талап және прототипі және т.б. Мысалы, «712.a Close батырмасы әрдайым болуы керек қызыл »және« 36452.x Close батырмасы көк түсте болуы керек »- бұл әлі де қызыл немесе көк?
● Қате терминологияны немесе әртүрлі терминдерді пайдалану үшін тағайындау сол объект немесе құбылыс. Мысалы, «терезенің рұқсаты болса 800x600-ден аз ... «- экранда рұқсат бар, терезе өлшемі бар.
Айқындық (бірмәнділік)
Талап jargon, айқын емес аббревиатуралар мен анық емес пайдалану сипатталған тұжырымдамалар мен нақты түсінуге мүмкіндік береді объективті түсіну. Атомдық талаптар жеке сөз тіркестерінің комбинациясын әр түрлі түсіндірудің мүмкін еместігі.
Талаптар авторы талаптың егжей-тегжейлерін сипаттаудың қажеті жоқ екеніне сенімді болуы мүмкін, себебі «Ашық», «интуитивті». Алайда, қанша адам, соншалықты көп пікірлер. Кім талаптарын жазды талапқа бір мағынаны береді және келесі кезеңдердің әрқайсысында (даму, тестілеу, құжаттау) жаңа мәндер пайда болады. Қажетті талаптарды көрсетіңіз бірегейлігі жоқ.
Дәлсіздіктің типтік мәселелері:
● субъективті түсіндіруге мүмкіндік беретін терминдерді немесе сөз тіркестерін қолдану.
Мысалы
«Өтініш үлкен көлемдегі деректерді беруді қолдауы керек» - дейін «Үлкен»?
● Өте әдемі, бірақ толық орындалмай қалатын сұраныстың шамадан тыс мысалы. және түсініксіз: «Үлкен файлдарды аударуды оңтайландыру қажет болған жағдайда жүйе мүмкіндігінше ең аз ЖЖҚ тиімді пайдалануы тиіс. « Мұнда шынайы белгілер деп санауға болатын сөздер мен сөз тіркестерінің шағын тізімі белгісіздік:
○ жеткілікті,
○ болуы мүмкін,
○ жеңіл (оңай),
○ қамтамасыз етіңіз
○ кем дегенде (кем дегенде),
○ болуы мүмкін
○ тиімді (тиімді)
Уақтылы (уақтылы)
○ қолданылатын (қолданылатын жағдайда)
○ мүмкіндігінше (мүмкіндігінше),
○ кейін анықталады (анықталуы тиіс, TBD),
○ қажет болған жағдайда
○ сәйкесінше (егер практикалық болса),
○ бірақ шектелмей (бірақ онымен шектелмей),
○ қабілеттілігі (қабілеті)
○ болуы (қабілеті)
○ қалыпты жағдай
○ кішірейту (азайту)
○ барынша күшейту
○ оңтайландыру (оңтайландыру),
○ жылдам (жылдам)
○ ыңғайлы (ыңғайлы),
○ қарапайым (қарапайым)
○ жиі (жиі)
○ әдетте (әдеттегі),
○ үлкен (үлкен)
○ икемді (икемді)
○ сенімді
○ ең жаңа технологиялар (ең заманауи),
○ жақсарды
○ тиімді.
● Декодтаусыз айқын немесе біркелкі емес аббревиатураларды пайдалану. Мысалы «Файлдық жүйеге қол жеткізу мөлдір шифрлау жүйесі арқылы жүзеге асырылады» және «файлдық жүйе» хабарларды ағымдағы күйінде сақтау арқылы жазуға мүмкіндік береді Барлық өзгерістердің тарихы «- FS жерде файлдық жүйеге қатысты? Оң? Және кейбір емес кез келген «Хабарды құлыптау»?
● Кез-келген нәрсе үшін түсінікті болуы керек себептерге қойылатын талаптар. Мысалы «Жүйе PNG форматындағы файлды шығару үшін кіріс файлын PDF пішімінен түрлендіреді» - және автор жүйенің файл атауын алғаны анық пәрмен жолы және көпжақты PDF бірнеше PNG файлдарына айналдырылады олардың атаулары «page-1», «page-2» және т.б. қосылған. Бұл мәселе бір нәрсемен байланысты дұрыстығын бұзу.
Біркелкі болу үшін тестілеу кезінде талаптардың «құдайшылдығын» тексеру қажет, яғни бар болса шарттар мен ерекшеліктер - олардың барлығының тіркелгені туралы және тексеруге болатын кемшіліктер жоқ екенін тексеру әр түрлі түсіндіреді.
Тиімділігі
Талап технологиялық тұрғыдан мүмкін және бюджет және мерзімде жүзеге асырылуы мүмкін. жобаны әзірлеу.
Тиімділігі бар типтік проблемалар:
● «алтын жалатқан» (алтын жалатқан) - өте ұзақ және / немесе қымбат талаптар ақырғы пайдаланушылар үшін іс жүзінде жарамсыз. Мысалы «Дерекқорға қосылу параметрлерін орнату тануды қолдауы керек үш өлшемді кіріс құрылғысынан алынған қимылдардың таңбалары «.
● Технологиялық дамудың заманауи деңгейінде техникалық талаптар орынды емес. Мысалы, «шартты талдау жасанды пайдалана отырып жүргізілуі керек ақылға сыйымдылық дәрежесі туралы нақты бір тұжырым жасауға мүмкіндік береді шарт жасасудан.
● Негізінде, іске асырылмайтын талаптар. Мысалы, «іздеу жүйесі міндетті іздеу сұрауларына барлық ықтимал параметрлерді қамтамасыз етіңіз және олардың нәтижелерін кэштеңіз.
« Мiндеттеме
Егер талап орындалу үшін міндетті болмаса, оны жай ғана алып тастау керек талаптар жиынтығы. Егер бұл талап қажет болса, бірақ бұл фактіні көрсету үшін «өте маңызды емес» басымдылық қолданылады. Сондай-ақ, алып тасталған (немесе қайта өңделген) талаптар болуы керек енді маңызды емес.
Міндеттеме мен өзектіліктегі типтік мәселелер:
● Талапқа «дәл жағдайда» қосылды, бірақ оған нақты қажеттілік жоқ еді жоқ
● Сұрауда маңызды және / немесе критерийлерге негізделген басымдылық маңызы жарамсыз өзекті
● Сұрау ескірген, бірақ қайта өңделмеген немесе жойылмаған.
Бақылау мүмкіндігі (қадағалау мүмкіндігі)
Бақылау мүмкіндігі - көлденең (көлденең қадағалау) және тік (тік қадағалау).
Тігінен талаптар әртүрлі деңгейлерде байланыстыруға мүмкіндік береді
көлденең тест талаптары, сынақ жағдайлары, архитектуралық талаптармен байланыс орнатуға мүмкіндік береді
шешімдер және т.б.
Байқауды қамтамасыз ету үшін арнайы басқару құралдары жиі қолданылады. талаптарға қойылатын талаптар құралы және / немесе қадағалау матрицасы. Типтік қадағалау мәселелері:
● Талаптар нөмірленген емес, құрылымдық емес, мазмұны жоқ, жоқ жұмыс сілтемелері.
● Талаптар дамыған кезде құралдар мен бақылау әдістері пайдаланылмаған. талаптар.
● Талаптар жиынтығы аяқталмаған, ол табиғатта ашық бөліктермен бөлінеді Модификациясы жеке талаптарға және жиынтыққа өзгерістерді жеңілдетуді сипаттайды талаптар. Өңделетіндіктің аяқталуы туралы оқиға туралы әңгімелесуге болады қажетті ақпаратты табу оңай, ал оны өзгерту басқа біреудің бұзылуына әкелмейді осы жылжымайтын мүлік тізімінде сипатталған.
Өзгермелі типтік мәселелер:
● Талаптар атомдық емес және байқалмайды, сондықтан оларды жоғарыдан өзгереді ықтималдық сәйкессіздікті тудырады.
● Талаптар бастапқыда қайшы. Мұндай жағдайда өзгерістер енгізу (байланысты емес келіспеушіліктерді жоюмен) жағдайды нашарлатып, жағдайды күшейтеді және қадағалауды азайту.
● Талаптар өңдеуге ыңғайсыз түрде ұсынылады (мысалы, пайдаланылмайды талаптарды басқару құралдары, нәтижесінде команда онымен жұмыс істеуі керек үлкен мәтіндік құжаттар).
Дәрежесі
Рейтинг маңызды, тұрақтылық, шұғыл болуы мүмкін. Маңыздылығы сипатталады жоба табысының тәуелділігі талаптың орындалуының табысы. Тұрақтылық сипатталады жақын болашақта талапқа ешқандай өзгерістер енгізілмеу ықтималдығы. Жедел жобаны жүзеге асыру бойынша жобалық топтың күш-жігерін уақытты бөлудің өзектілігі басқа талаптар.
Ранжирлеудің типтік проблемалары оның болмауы немесе қате орындалуы болып табылады келесі салдарға әкеп соғады:
● маңызды рейтингі бар мәселелер бұрмаланбау тәуекелін арттырады. жобалық топтың күш-жігері, қайталама тапсырмаларға және финалға күш салу өнімнің негізгі тапсырмаларды орындауға қабілетсіздігіне байланысты жобаның сәтсіздігі негізгі шарттар.
● Тұрақтылық рейтингісінің проблемалары тәуекелді арттырады талаптарды жақсарту, енгізу және тестілеу, олар тез арада түбегейлі өзгерістерге ұшырауы мүмкін (толығымен дейін өзектілігін жоғалту).
● Шұғыл рейтингі бар проблемалар қалағаныңызды бұзу қаупін арттырады клиент функционалдылықты енгізуді және оны енгізуді тапсырады функционалдылық.
Дұрыс және тексеру мүмкіндігі
Шын мәнінде, бұл қасиеттер барлық жоғарыда аталғандардың сақталуынан туындайды (немесе олар жоқ егер олардың кем дегенде біреуі бұзылған болса, орындалады). Бұдан басқа, атап өтуге болады тексеру мүмкіндігі объективті сынақ жағдайын жасау мүмкіндігін білдіреді (сынақ жағдайлары), талаптың дұрыс орындалуын және өтінімнің мінез-құлқының дәлме-дәл екенін көрсетті талаптарға жауап береді.
Дұрыс болудың типтік мәселелері мыналарды қамтиды:
● typos (қысқартулардағы қателер өте қауіпті, бір мағыналы болып табылады басқа біреудің аббревиатурасы маңызды, бірақ белгілі бір контекстке қатысы жоқ; мұндай қателерді байқау өте қиын;);
● дизайн және сәулет үшін негізсіз талаптар бар;
● мәтіннің нашар дизайны және тиісті графикалық ақпарат, грамматикалық, мәтіндегі пунктуация және басқа да қателіктер;
● Дəл мәліметтердің дұрыс емес деңгейі. Мысалы, талаптарды нақтылау іскерлік талаптар деңгейіне немесе өнімге қойылатын талаптар деңгейінде жеткіліксіз мәліметтерге;
● Қолданбаға емес, пайдаланушыға қойылатын талаптар. Мысалы, «пайдаланушы кірген болуы керек хабарлама жібере алатын «- өкінішке орай, біз пайдаланушының мәртебесіне әсер ете алмаймыз.
Дизайнды тестілеу
Бағдарламалық жасақтаманы жобалау әртүрлі кезеңдерде, іске асыруға дейін, уақытында және кейін жүзеге асырылуы мүмкін негізгі функционалдылықты іске асырады, мысалы, дизайнды толығымен өзгертуді шешсеңіз. Дизайнды тестілеу кезінде эргономика мен интуитивтілік тексеріледі.
интерфейс.

ТДизайнды тестілеу кезіндегі типтік мәселелер:
● «Мен қайдамын?» Пайдаланушы қайда екендігі анық емес. Кейде әртүрлі дәлелдерге байланысты беттер тақырыптар, тақырыптар, түсіндірме ақпараттарды алып тастай алады. Мүмкін бұл және шындық пайдаланушыларға, таныстарға және бағдарламалық қамтамасыз етуді үнемі қолдануға анық, бірақ әрдайым бар жаңа пайдаланушылар.
● «Бұдан әрі не істеу керек?» - пайдаланушыға қандай әрекеттерді жасау керектігі анық емес болса, мақсатқа жету
● «Қоңыр» - беттегі барлық нәрсе өте көп болғанда, бет жүктеледі және қиын болады қабылданды
● «Не істедім?» - бағдарламалық құрал интерактивті емес болғанда. Пайдаланушы бағдарламалық қамтамасыз етуден алуы керек жауап немесе дұрыс әрекет
○ түймелері көрнекі түрде басылады,
○ кез келген деректерді өзгертуге әрекет жасаған кезде пайдаланушы керек
сәтті сақтау, жою, тыйым салу туралы хабарландыруларды көрсетеді кейбір әрекеттер
○ алдыңғы әрекетке, таңдалған немесе енгізілген деректерге оралғанда пайдаланушы орнында қалады.
○ Пайдаланушы деректерін сақтағанда, басқа жерде жылжытудың қажеті жоқ.
Ол мұны шынымен қалады ма? Ол тек «Сақтау» батырмасын басып, Карл!
○ Бірдей функцияны орындайтын интерфейс элементтері ұқсас болуы керек сол сияқты. Мысалы, «Болдырмау», «Жабу», «Қайтару» түймелері болса бір атауды таңдап, оны барлық бағдарламалық интерфейске қойыңыз
Бағдарламалық жасақтама кодын тексеру
Бағдарламалық жасақтаманың кодтарын оны орындау арқылы тікелей тестілеуге қосымша статикалық бағдарламалық тестілеу. Осындай тестілеу кезінде әзірлеуші қарауға (Код шолу) сіздің кодты басқа әзірлеушіге немесе әзірлеу тобындағы басты нәрсеге. Осындай жол тестілеудің статикалық түрі болып табылады. Мұндай тестілеу әзірлеушілердің өздері ғана жүзеге асырады. тестерлер оған қатыспайды.
Бағдарламалық жасақтама кодтарын тестілеудің тағы бір түрі автоматтандырылған модуль болып табылады (бірлік тестілер) және интеграциялық сынақтар. Олар модульдің функционалдығын және арасындағы қатынастарды тексереді кодтық деңгейдегі модульдер. Мұндай сынақ тестерлері де қатыспайды.
Бағдарламалық қамтамасыз етуді әзірлеуде қандай кезең ең маңызды болып табылады?
Тестілеудің ең маңызды кезеңі бағдарламалық жасақтама әзірлеу болып табылады, бірақ олай емес.
Жоғарыда талқыланғандай, бағдарламаны жасау идеядан басталады. Төмендегі кестеде тәуелділік көрсетілген бағдарламалық жасақтаманың өмірлік циклінің кезеңінен қате құны.

Сіз қалай көруге болады, ең арзан және ауыртпалықсыз бағдарламалық қамтамасыз ету үшін әзірлеумен алдында, өйткені түзетуге қалай Талап мәтіні бағдарлама кодын түзетуге қарағанда әлдеқайда жеңіл. Сондай-ақ талапты түзетіңіз Мүмкін бір адам жауапты, мысалы, талдаушы. Ал егер қате болса кодталған, демек, әзірлеуші, мүмкін, біреуі уақытты іске асыруға жұмсады, Тексеруші тексерді, проблеманы хабарлады, әзірлеуші оны іске қосып, қатені белгіледі.
Сонымен қатар, түзету уақыты қатеге тәуелді болады, себебі бұл белгі мен белгінің қателігі болуы мүмкін Қосымшалар жай ғана минус белгісімен ауыстырылады, бірақ логикада қате болса, қате көп болады қымбатырақ.
Түрлер мен бағыттарды жіктеу
тестілеу
Тестілеуді өте көп белгілермен жіктеуге болады және іс жүзінде автордың сынау туралы әрбір маңызды кітабы оның (әрине, құқығы бар бар) осы сұрақты қараңыз. Тиісті материал өте үлкен және күрделі, және жіктеудегі әрбір тармақты терең түсіну кейбір тәжірибені талап етеді, өйткені біз Бастаушыға қажетті ең қарапайым, ең аз ақпарат жинағын қарастырыңыз. сынаушыға.
Кодты орындауға орындау арқылы
Кодты орындауға орындау арқылы тестілеу келесіге бөлінеді:
● Статикалық сынақ
● Динамикалық тестілеу
Статикалық тестілеу бағдарламалық жасақтаманы пайдаланбай орындалады. Тестілеу жүргізіледі бағдарлама кодын (кодты шолу) немесе құрастырылған кодты талдау. Талдау мүмкін қолмен және арнайы құралдармен. Талдаудың мақсаты - ерте анықтау қателер мен өнімдегі ықтимал проблемалар.
Статикалық кодты жасауды әзірлеушілер жүзеге асырады. Мұндай тестілеудің бөлігі ретінде бағдарламалық жасақтама құрылымдарының тиімділігі мен дұрыстығына қатысты қателер. Кодқа қосымша тестілеу және тестілеу кезінде статикалық тестілеу орындалады. орналасу бойынша дизайн.
Автоматты статикалық арқылы анықталатын қателер мысалдары сынақ болуы мүмкін:
● Ресурстардың ағып кетуі (жадтан ағып кету, еркін емес файл дескрипторлары және т.б.). Аралық толып кету мүмкіндігі (буферлік толып кету).
● Қате (толық емес) қателерді өңдеу жағдайлары.
Статикалық сынақтардың мысалдары:
● Тестілеу талаптары
● Статикалық кодты тестілеу (кодты қарау)
Статикалық емес, динамикалық тестілеу өнімді іске қосу арқылы жасалады оның функционалдығын тексеріңіз. Тексеру қолмен немесе автоматты түрде жүргізіледі алдын-ала дайындалған сынақ топтамасын орындаңыз. Динамикалық тестілеу мысалдары:
● Бірліктерді сынау.
● Біріктірілген тестілеу.
● қабылдауды тестілеу.
Қолданбаның кодына және архитектурасына қатынасу
● Ақ жәшік әдісі
● Қара жәшік әдісі
● Сұр түсті қорап әдісі
Қара жәшікке тестілеу дегеніміз - тестілеу немесе тестілеу әдісі функционалдық ерекшеліктер мен талаптарға сәйкес тестілеу, сонымен қатар іздемеу кодтың ішкі құрылымы және дерекқорға қолжетімсіз. Шын мәнінде біз не болатынын білеміз нәтиже деректерге белгілі бір деректер жиынтығымен беріледі. Нәтижесі тексеріледі қарапайым пайдаланушы деңгейінде интерфейс. Қазіргі уақытта бұл стратегия ең көп АТ компанияларында жиі қолданылады.
Біршама аз тестерлер сұр қораптың стратегиясын пайдаланады
мысалы, дерекқор құрылымына ішінара қол жеткізуді білдіреді.
Сынақшылардың ең аз бөлігі басқалардың кодтарын талдай алады және жаза алады тіпті бағдарламаны немесе бағдарламаны іске қоспай-ақ, бағдарлама кодын ғана қолдануға болады Стратегия «ақ жәшік» деп аталады. Қара және сұрға қосымша қолдануға болады жәшіктер. Осындай мамандар өте аз, және олар, ең алдымен, бұрынғы әзірлеушілер болып табылады тестілеуді немесе тестілеуді автоматтандыру және қосу бағдарламалау арқылы. Бірліктерді тестілеу, әдетте өнім әзірлеушілермен жүргізіледі, ақ жәшік сынағының мысалы болып табылады.
Автоматтандыру дәрежесі бойынша
● Қолмен сынау
● Автоматтандырылған тестілеу
Қолмен тестілеу - тестілеу кезінде бағдарламадағы ақауларды табу үдерісі барлық бағдарлама компоненттерінің өнімділігін пайдаланушы ретінде секілді тексереді. Үшін Сынақшылар алдын ала дайындалған тест жоспарларын пайдаланады және бағдарламалық талаптарға негізделген сынақтар.
Автоматтандырылған тестілеу тестілеу үшін бағдарламалық жасақтаманы пайдаланады. және тексеру нәтижелері. Автоматтандырылған сынақтарды пайдалану уақытты қысқартуы мүмкін тестілеу және процестің өзін жеңілдету. Бірақ автоматтандыру қарапайым деп ойлаймын сіз барлық тесттерді автоматтандырылған түрде жасауыңыз керек.
Автоматтандырылған тестілеу әртүрлі деңгейлерде, көбінесе автоматтандырылған әзірлеушілерде болады модульдеріңізді немесе модульдер арасындағы байланысты тексеру үшін тесттер. Кең танымал болды мінез-құлықты эмуляциялауға арналған автоматтандырылған пайдаланушы интерфейсі сынақтары пайдаланушы, яғни. Тінтуір көрсеткішін экранға жылжытыңыз, түймелерді басыңыз, мәтіндерді жазыңыз және т.б. Қолмен және автоматтандырылған тестілеу кезінде сіз сынақ және тест жоспарларын жасауыңыз керек. Тесттер уақыт бойынша ескіріп, жаңару және қолдау қажет. Қолмен жұмыс істеу үшін сынақтар тестілер кәдімгі мәтінде жазылған және бағдарламалық жасақтама түрінде автоматтандырылған код. Егер әзірлеушілер қолданушы интерфейсін сәл өзгертсе, онда оны қолмен тексергенде, өзгеріс өте маңызды болмайды және адам жасаған сынақ сәтті болады, бірақ Автоматтандырылған тест үзіледі олар әр түрлі өзгерістерге өте сезімтал.
Кез-келген жобаны автоматтандыруға тырыспаңыз, бірақ автоматтандырылған пайдасын жоққа шығармаңыз тестілеу мүмкін емес.
Қолданбаның егжей-тегжейі бойынша
● Бірліктерді сынау
● Интеграциялық тестілеу
● Жүйені тексеру
Бірліктерді тестілеу функционалдылықты тексереді және қосымшаның бөліктеріндегі кемшіліктерді іздейді, олар қол жетімді және жеке тексерілуі мүмкін (бағдарламалық модульдер, нысандар, сыныптар, функциялар және т.б.). Әдетте, бірліктерді тестілеуді әзірлеушілер жасайды және дамытады модульді әзірлеу үдерісінде арнайы бірліктердің сынақтарын (бірлік сынақтары) бағдарламалау бағдарлама.
Интеграциялық тестілеу бағдарламалық модульдер арасында байланыс орнатуды, сондай-ақ жүйенің түрлі бөліктерімен өзара әрекеттесу (операциялық жүйе, аппараттық қамтамасыз ету, түрлі жүйелер арасындағы өзара байланыс).
Жүйелік тестілеудің негізгі міндеті - функционалды және екеуін де тексеру тұтастай жүйедегі функционалды емес талаптар. Бұл ақаулар сияқты жүйелік ресурстардың дұрыс пайдаланылмауы, күтілмеген деректер бірлестіктері пайдаланушы деңгейі, ортаға сыйыспаушылық, күтілмеген сценарийлер пайдалану, жетіспеу немесе дұрыс емес функционалдылық, пайдаланудың қолайсыздығы және т.б. Жүйелік тестілеуді жүргізген кезде, олар арнайы шарттар жасайды нақты немесе клиенттің бағдарламалық жасақтамасында болады.
Сыналған функциялардың маңыздылығына қарай
● Түтін тестілеуі
● Сыни жолды сынау
● Қосымша тестілеу
Түтін тестілеуі анық қателіктерге арналған ең аз сынақ жиынтығын білдіреді. Табысты түтін сынағынан өту бағдарламалық жасақтаманың тереңірек тексерілуі мүмкін екенін білдіреді егер бағдарламалық қамтамасыз ету түтін тестілеуден өтпесе, онда тереңдетілген тестілеу жүргізілмейді мағынасы бар. Бұл терминді бірінші рет қолданған пеш қондырғылары алды олар барлық сөндіргіштерді жауып тастап, түтін тек дұрыс жерлерден шығатындай етіп су астында қалды. Сыни жолды сынау пайдаланылатын функционалдылықты тексереді әдеттегі күнделікті әрекеттегі пайдаланушылары, ең жиі қолданылатын бағдарламалық жасақтама мүмкіндіктері.
Өтінішпен жұмыс істеу принциптеріне сәйкес
● Позитивтік тестілеу
● Теріс тестілеу
Позитивтік тестілеуден кейін бағдарламалық жасақтаманың функциялары нұсқауларға сәйкес қатаң түрде тексеріледі, жарамды әрекеттермен және жарамды деректермен ғана. Мысалы, оң сынақ шаршы түбірлік функцияны тексеру «4» нөміріне кіріп, «+2» немесе «- 2 «немесе» Жасы «өрісінде» 18 «мәнін енгізіңіз.
Теріс тестілеу дұрыс емес деректерді енгізген кезде бағдарламалық жасақтаманың мінез-құлқын тестілеу болып табылады Талаптар немесе деректер түрі бойынша және т.б. Мысалы, квадрат түбірін есептеу кезінде «FFA04» мәнін енгізіңіз - бұл он алтылық сандар жүйесіндегі нөмір, ол қалай әрекет етеді калькулятор немесе «# @» кейіпкерлерінің түбірі. Бұл сынақтан күтілетін нәтиже не алты форматта нөмір немесе енгізілген мән сан емес деген қате. Теріс тестілеу бағдарлама елдегі қателіктер тудырмайтындығын немесе кіре берісінде қызмет ете алмайтындығын тексереді ерекше нәрсе.
Тестілеу мақсатында
● Функционалдық сынақ түрлері
● Функционалды емес тестілеу түрлері
● Код бойынша ақша алуымен байланысты
Тестілеудің функционалдық түрлері бағдарламалық жасақтамада сипатталған функцияларды орындайтынын тексереді сондай-ақ басқа жүйелермен өзара әрекеттесу. Функционалдық сынақ түрі модульдік, интеграциялық және жүйелік тестілеуді қамтиды.
Тестілеудің функционалды түрлері:
● Функционалды тестілеу. Орындалған функциялар негізінде тестілеу жүйе бойынша. Мысалы, калькулятор арифметикалық операцияларды орындайды.
● Қауіпсіздікті тексеру - жүйенің қауіпсіздігі үшін бағдарламалық жасақтаманы тексеру, дұрыс Пайдаланушы мүмкіндіктеріне шектеулер, хакерлік шабуылдардан қорғау. Мысалы, бұл тек Жүйедегі әкімші құқықтарды шығара алады және жаңа пайдаланушыларды жасай алады немесе пайдаланушы интерфейсі бетінде XSS осалдықтарын тексеру Зиянды сценарийлерді іске қосуға болады.
● өзара әрекеттестікті тестілеу. Әртүрлі сыртқы бағдарламамен өзара іс-қимылын тексеру компоненттер мен жүйелер. Мысалы, қызметті пайдалануға болатындығын тексеру үшінші тұлғалардың сайттарында тіркелу үшін «Вконтакте» -ге рұқсат беру. Функционалды емес тестілеу сипаттамаларды анықтау үшін қажетті сынақтарды сипаттайды түрлі мөлшерде өлшеуге болатын бағдарламалық жасақтама. Жалпы, бұл жүйенің қалай жұмыс істейтінін тексеру.
Функционалды емес тестілеудің негізгі түрлері:
● Тестілеуді жүктеңіз. Қалай анықтауға арналған тест жылдам бағдарламалық жасақтама белгілі бір жүктеме бойынша жұмыс істейді. Мысалы, тестілеу кезінде өнімділік белгілі бір уақытта бағдарламалық жасақтама уақытының өзгеруін талдайды бір уақытта жұмыс істейтін пайдаланушылардың саны.
● Стресс-тестілеу. Қалай тексеруге мүмкіндік беретін тестілеу бағдарлама және тұтастай алғанда жүйе стресс астында жұмыс істейді, сондай-ақ бағалайды қалпына келтіру мүмкіндігі, яғни қалыпты жағдайға оралу стресті тоқтату. Бұл тұрғыда стресс, көтерілуді білдіреді операциялардың қарқындылығы жоғары құндылықтарға дейін.
● Тұрақтылық пен сенімділікті тексеру. Тұрақтылықты тестілеу тапсырмасы (сенімділік) ұзақ уақыт бойы өтініштің орындалуын тексеру (ұзақтығы сағат) орташа жүктемемен тестілеу. Жұмыс уақыты тестілеудің осы түрінде қосымша рөл атқара алады. Сонымен қатар, бірінші кезекте жадты ағып кетпеуі, жүктеме астында серверлерді қайта іске қосу және басқа да аспектілер, дәл жұмыс орнының тұрақтылығына әсер етеді.
● Көлемді тестілеу. Көлемді тестілеу тапсырмасы - бағалауды алу. деректер базасында деректер көлемін ұлғайтып, сонымен қатар Таңдалған операциялардың орындалу уақытын өлшеу және мөлшерді өлшеу қолданушылармен бір уақытта жұмыс істейтін пайдаланушылар.
● Орнату сынағы. Тексеруге бағытталған бағдарламалық қамтамасыз етуді сынау табысты орнату және конфигурациялау, сондай-ақ бағдарламалық жасақтаманы жаңарту және жою.
● Ықтималдықты тестілеу - бұл тестілеу әдісі
пайдаланудың қарапайымдылығы, оқыту, түсінікті және тартымдылығы әзірленген бағдарламалық жасақтаманың пайдаланушылары көрсетілген шарттар контексінде.
● Ақаулықты және қалпына келтіруді тексеру. Бағдарламалық жасақтаманы нүктеден тексеретін тестілеу ықтимал сәтсіздікке қарсы тұруға және қалпына келтіру қабілетіне, бағдарламалық құралдың қателіктері, аппараттық ақаулар немесе коммуникациялық проблемалар (мысалы, желідегі іркіліс). Бұл тестілеудің мақсаты болып табылады қалпына келтіру жүйелерін (немесе негізгі функционалдық жүйелерді қайталайды) тексеру, іркіліс болған жағдайда, сынақ деректерінің қауіпсіздігі мен тұтастығын қамтамасыз етеді өнім. Жүйенің істен шығуы мен қалпына келтірілуін тексеру өте маңызды «24x7» принципі.
● Конфигурация сынағы. Тестілеудің ерекше түрі әртүрлі жүйелік конфигурациялар бойынша бағдарламалық қамтамасыз етуді тексеру (мәлімделген платформалар, әртүрлі конфигурациялары бар қолдау көрсетілетін драйверлер компьютерлер және т.б.)
Бағдарламалық өнімділік тестілеу (жүктеме, көлем, кернеуді сынау) бірге орындалады мысалы, Jmeter пайдаланушылардың жұмысын имитациялайтын арнайы құралдарды пайдалану. Қате өзгерістерден кейін, мысалы қате / ақаулықты түзету, бағдарламалық жасақтама проблема болғанын растау үшін бағдарламалық жасақтаманы қайта тестілеу қажет шынымен шешілді. Төменде тестілеудің түрлері жасалуы керек.
Бағдарламаны орнатқаннан кейін, бағдарлама жұмыс істейтінін немесе расталғанын растау үшін ақауларды түзетудің дұрыстығы:
● Түтін тестілеуі (жоғарыда талқыланған).
● Регрессиялық тестілеу - тестілеуге арналған тестілеу түрі
өтінімде немесе қоршаған ортаға жасалатын өзгерістер (ақаулықты түзету, кодты біріктіру, басқа операциялық жүйеге, дерекқорға, веб-серверге немесе серверге көшу қосымшалар), қолданыстағы функционалдылықты растау үшін бұрынғыдай жұмыс істейді. Регрессия функционалды болуы мүмкін функционалдық емес сынақтар. Әдетте, регрессиялық тестілеу үшін тест пайдаланылады. даму және тестілеудің бастапқы кезеңдерінде жазылған жағдайлар. Бұл кепілдік береді Қолданбаның жаңа нұсқасындағы өзгертулер бар функцияларды бұзбады.
● Құралды тексеру. Сәйкестікті тексеру, шығарылған нұсқасы, тестілеуді бастайтын сапа өлшемдері. Оның мақсатына сай Smoke Testing-ге ұқсас, әрі қарай жаңа нұсқаны қабылдауға бағытталған тестілеу немесе пайдалану. Ол қарай қарай қарай қарай алады шығарылған нұсқасының сапасына қойылатын талаптар.
● Санитарлы тестілеу - жеткілікті деңгейде тестілеу белгілі бір функция спецификацияда көрсетілгендей жұмыс істейтінін дәлелдейді талаптар. Бұл регрессиялық тестілеу жиынтығы. Қолданылатын өзгертулерден кейін өтініштің белгілі бір бөлігінің денсаулықты анықтайды онда өндірілген немесе қоршаған ортаға. Әдетте қолмен жасалады.
Сәйкестікті тексеру бағдарламалық қамтамасыз етуді әзірлеу әдіснамасы
Тестілеу сапасын қамтамасыз етеді, бірақ тікелей бағдарламалық жасақтаманы жасамайды, сондықтан олар қажет даму процестеріне бейімделу. Сынақ принциптері таңдалғандардан өзгермейді бағдарламалық қамтамасыз етуді әзірлеу әдіснамасы. Циклдің әртүрлі сатыларында орындалатын жұмыстар көлемінің өзгеруі тестілеу.

Екі ең танымал даму модельдерін салыстыру арқылы сіз каскадтық модельде көре аласыз
Жұмыстың көлемін тексерудің әр кезеңі жобаның көлеміне, мысалы, талдау кезеңіне сәйкес келеді талаптар бағдарламалық қамтамасыз етудің барлық функцияларына қойылатын талаптар болып саналады. Және итеративті модельде Тек қазіргі иерарда даму талаптары талданады.
Жалпы алғанда, тестерлер түрлі модельдердегі айырмашылықты сезінеді, себебі сынақ циклы де орындалады жылдам немесе баяуырақ.
Тәжірибе
Сұрақтарға жауап беру:
Бағдарлама коды қол жетімді болған кезде сынақ түрін таңдаңыз:
• көлемді тестілеу
• Ықтималдықты тестілеу
• Ақ жолақты тестілеу
• Теріс тестілеу
2. Сынақ деңгейіне қатысты элементті таңдаңыз:
• Тестілеуді жүктеңіз
• Бірліктерді тестілеу
• Ақ жолақты тестілеу
• Жүйелік тестілеу
3. Автоматтандыру дәрежесіне байланысты элементті таңдаңыз:
• Ассамблеяда тестілеу
• Стресс-тестілеу
• Қауіпсіздікті тестілеу
• Автоматтандырылған тестілеу
4. Төмендегілердің қайсысы көбінесе автоматтандырылады?
• Регрессиялық тестілеу
• Зерттеуді сынау
• Интеграциялық тестілеу
• қабылдауды тестілеу
• Бірліктерді тестілеу

Презентация сілтемесі :

Бағдарламалық қамтамасыз етуді әзірлеу циклі